Aspects of the present invention are directed to a computing system with power requirement evaluation.
Machines and computers, such as portable laptop computers, are often employed to execute input/output (I/O) operations, such as the burning of a CD or the writing of information to removable media. To be successfully executed, the I/O operation must be instantiated and fully conducted so as not to risk the loss of possibly important data. This requires a given amount of computing time, which is based on processing speeds and the size of the I/O operation, and the availability of sufficient power for powering the execution. The power can be provided by way of, e.g., a building's power supply when the machines and computers are plugged in or, in the case of the portable laptop computer which is not plugged into a power supply, a rechargeable battery.
If the portable laptop computer draws power from the rechargeable battery, the computer will only have access to a limited power reservoir. Over time, the amount of power within this power reservoir will decrease as the amount of available battery power dwindles. Eventually, the amount of available battery power will approach such a low level that warnings will be issued to the user to stop use and recharge. Nevertheless, in these cases, the user may persist in having his computer continue to perform I/O operations without regard to whether sufficient battery power will be available to complete the I/O operations. Thus, without further layers of protection, the user risks instantiating I/O operations without sufficient power and, therefore, the potential loss of data.
Enterprise computing systems, in which multiple possible remote servers communicate with multiple possible remote client computers, are not normally operated with battery power and are therefore not at risk of running out of power in the middle of an execution. These systems are generally coupled to one or more power grids and, as such, it is unlikely that the systems will ever lack sufficient power to complete I/O operations. With that said, costs associated with the use of the power by these systems can be significant. However, the systems do not typically consider such costs when undertaking I/O operations. Thus, a particular I/O operation may be completed using relatively expensive power even though the same I/O operation could have been conducted using cheaper power at a different time or at a remote location.